
use std::mem;

fn arr_slice(arr: &[i32]) {
    println!("arr[0] = {} all:{:?}", arr[2], arr);
}
fn main() {
    // [T, length] 定长数组
    let arr = [1, 2, 3, 4, 5];
    // [1.0; 10] 将10个元素都初始化为1.0
    let arr01:[f32; 10] = [1.0; 10];

    // 使用索引获取元素
    println!("arr[0] = {}", arr[0]);
    // 获取数组长度
    println!("len of arr:{}", arr.len());
    // 获取数组长度
    println!("size of arr:{}, size2:{}", mem::size_of_val(&arr), arr.len() * mem::size_of_val(&arr[0]));
   
    // 数组是定长的，不能动态改变大小   
    // arr.push(100);
    //数组通过借用变成切片
    arr_slice(&arr);
    //可以通过切片切取一部分
    arr_slice(&arr[1 ..]);
}